package com.ktgj.customer.mapper;

import java.util.List;
import com.ktgj.customer.domain.Position;
import com.ktgj.customer.domain.PositionDTO;
import com.ktgj.customer.domain.dto.PositionDetailsDTO;
import com.ktgj.customer.domain.dto.PositionSelectDTO;
import com.ktgj.customer.domain.vo.PositionVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/**
 * 职位Mapper接口
 * 
 * @author ruoyi
 * @date 2021-07-27
 */
@Repository
public interface PositionMapper 
{
    /**
     * 查询职位
     * 
     * @param positionId 职位ID
     * @return 职位
     */
    public PositionDTO selectPositionById(Long positionId);

    /**
     * 查询职位列表
     * 
     * @param position 职位
     * @return 职位集合
     */
    public List<Position> selectPositionList(Position position);

    /**
     * 查询职位列表
     *
     * @return 职位集合
     */
    public List<Position> queryPositionList();

    /**
     * 新增职位
     * 
     * @param positionVO 职位
     * @return 结果
     */
    public int insertPosition(PositionVO positionVO);

    /**
     * 修改职位
     * 
     * @param positionVO 职位
     * @return 结果
     */
    public int updatePosition(PositionVO positionVO);

    /**
     * 删除职位
     * 
     * @param positionId 职位ID
     * @return 结果
     */
    public int deletePositionById(Long positionId);

    /**
     * 批量删除职位
     * 
     * @param positionIds 需要删除的数据ID
     * @return 结果
     */
    public int deletePositionByIds(Long[] positionIds);

    PositionDTO queryMenuTree(Long positionId);

    List<PositionSelectDTO> getAll(PositionSelectDTO positionSelectDTO);

    PositionDetailsDTO queryPositionById(@Param("positionId") Long positionId);
}
